package com.molichuxing.services.infrastructure.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.molichuxing.framework.dao.RootMapper;
import com.molichuxing.services.infrastructure.bean.OrderSubscribeSettlementBean;

public interface OrderSubscribeSettlementMapper extends RootMapper<OrderSubscribeSettlementBean> {

	/**
	 * 获取订阅里程订单结算信息
	 * 
	 * @param orderCode
	 *            订单号
	 * @param status
	 *            支付状态
	 * @return
	 */
	OrderSubscribeSettlementBean getOrderSubscribeSettlement(@Param("orderCode") Long orderCode,
			@Param("status") Integer status);

	/**
	 * 支付完成修改结算信息
	 * 
	 * @param orderSubscribeSettlementBean
	 * @param oldStatus
	 * @return
	 */
	Integer modifyPay(@Param("bean") OrderSubscribeSettlementBean orderSubscribeSettlementBean,
			@Param("oldStatus") Integer oldStatus);

	/**
	 * pdi检验后修改结算信息
	 * 
	 * @param orderSubscribeSettlementBean
	 * @param status
	 * @return
	 */
	int modifyPdi(@Param("bean") OrderSubscribeSettlementBean orderSubscribeSettlementBean,
			@Param("status") Integer status);

	/**
	 * 无费用结算修改
	 * 
	 * @param bean
	 * @param oldStatus
	 * @return
	 */
	int modifySettlement(@Param("bean") OrderSubscribeSettlementBean bean, @Param("oldStatus") Integer oldStatus);

	/**
	 * 争议处理修改结算信息
	 * 
	 * @param orderSubscribeSettlementBean
	 * @param value
	 * @return
	 */
	int modifyDisputeDisposals(@Param("bean") OrderSubscribeSettlementBean bean, @Param("oldStatus") Integer oldStatus);

	/**
	 * 查询订单结算信息
	 * 
	 * @param orderCodes
	 * @return
	 */
	List<OrderSubscribeSettlementBean> getOrderSubscribeSettlementList(@Param("orderCodes") List<Long> orderCodes);

}